In certain computer network configurations, a particular network domain (e.g., an autonomous system, or “AS”) may be “multi-homed” to the computer network, such that multiple paths or exits are available to that network domain to reach destination address prefixes located in a remote network domain. For example, this multi-homing may be provided by interconnecting the particular network domain to a plurality of service providers (e.g., Internet Service Providers, “ISPs”), often in order to achieve redundancy in the event of a failure, and/or to provide a mechanism that may be used to load balance (e.g., distribute) traffic destined to a remote domain.
In addition, since multiple paths/exits are available to a local network domain, various techniques have been established that may distribute traffic across the multiple exits based on performance measurements of particular traffic-classes. For example, through either passive monitoring or active probing for each traffic-class, traffic for each traffic-class may be routed/forwarded over a specific best performing path/exit to reach a particular destination address prefix in a remote domain.
These performance measurements, however, while being generally accurate in determining a best performing path per-traffic class and per-prefix, may suffer from various shortcomings. For example, in certain situations only a few probe targets may be known/available for a particular traffic-class and destination address prefix. As such, if those targets are non-responsive (e.g., firewalls, network address translation or “NAT” issues, etc.), then probing those targets for traffic optimization results in the traffic-class to that destination address prefix being classified as unreachable, and thus is not controlled based on a best performing path, regardless of whether other destinations within that prefix are reachable. Also, determining a best performing path per-traffic class and per-prefix may require a large number of probes (and probe targets, e.g., to reduce the occurrence of the example mentioned above), which is poorly scalable for large networks.